<?php
/**
 * Model Supporter
 * @package models
 * @author chinhpv.hp
 */
 class Model_Supporter extends Zend_Db_Table_Abstract{
 	protected $_name = 'supporter';
 	
 	/**
	 * Lấy toàn bộ bản ghi user
	 * @return Zend_Db_Table_Rowset
	 */
	public function getAllSupporters(){
		return $this->fetchAll();
	}
 	/**
	 * Tìm toàn bộ thông tin supporter theo supporter id
	 * @return Zend_Db_Table_Row
	 */
	public function  getSupporterByID($supporter_id){
		return $this->find($supporter_id)->current();
	}
 	/**
	 * Tạo supporter mới
	 * @param string $name Tên supporter
	 * @param string $email Email supporter
	 * @param string $phone Phone của supporter
	 * @param string $yahoo_account yahoo của supporter
	 * @return int Mã tự tăng
	 */
	public function createSupporter($name, $email, $phone, $yahoo, $type){
		try{
			$supporter = $this->createRow();
			$supporter->name = $name;
			$supporter->email = $email;
			$supporter->phone = $phone;
			$supporter->yahoo_account = $yahoo;
			$supporter->type = $type;
			$supporter->save();
			return $this->_db->lastInsertId();
		}catch(Exception $ex){
			echo $ex->getMessage();
			return false;
		}
		
	}
	
	/**
	 * Update thông tin của supporter
	 * @param int $id Mã supporter
	 * @param string $name Tên supporter
	 * @param string $email Email supporter
	 * @param string $phone Phone của supporter
	 * @param string $yahoo_account yahoo của supporter
	 */
	public function updateSupporter($id, $name, $phone, $email, $yahoo, $type){
		try{
			$data = array(
						'name'=>$name,
						'email'=>$email,
						'phone'=>$phone,
						'yahoo_account'=>$yahoo,
						'type' => $type
						);
			return $this->update($data, 'id ='.$id);
		}catch(Exception $ex){
			echo $ex->getMessage();
			return false;
		}
	}
	 /**
	 * Xóa 1 hoặc nhiều supporter phụ thuộc vào id
	 * @param int|string $id
	 * @return int Số bản ghi bị xóa
	 */
	public function deleteSupporter($id){
		try{
			if(is_numeric($id)){
				return $this->delete('id='.$id);
			}else{
				return $this->delete('id in ('.$id.')');
			}
		}catch(Exception $ex){
			echo $ex->getMessage();
			return false;
		}
	}
	
 }